//
// Created by TianBo on 2022/6/2.
//

//分为3步
//1、确定n所指向的数字是几位数
//2、确定n是在哪一个数上
//3、确定n是在这个数的哪一位上  return

#include "iostream"
#include "string"

using namespace std;

class Solution {
public:
    int findNthDigit(int n) {
        long long count = 9;
        int digit = 1;
        long long start = 1;
        //1、第一步
        while (n > count)
        {
            n -= count;
            start *= 10;
            digit += 1;
            count = 9 * start * digit;
        }
        //2、第二步
        int num = start + (n - 1)/digit;
        //3、第三步
        string str = to_string(num);
        int res = str[(n-1)%digit] - '0';
        return res;
    }
};

int main()
{
    Solution s;
    int n = 19;
    cout<<s.findNthDigit(n)<<endl;
    return 0;
}